Modern computer systems are often configured to provide access to various resources, which may be exposed at a low level of operation (e.g., particular sector read and write operations for a hard disk drive.) In order to facilitate the use of such resources, a programming library may be provided with standardized, general-purpose operations that may be performed on a class of such resources (e.g., a memory management API may expose general memory management functions, such as allocation, deallocation, and compaction, which may be invoked upon a wide range of storage devices, such as system memory, memory caches, and hard disk drives.)
A general-purpose programming library may be overly complex for more complicated resources, such as webservers and printers, and it may be difficult for a user to determine an appropriate sequence of general-purpose operations to be performed through such programming libraries to achieve common tasks. Therefore, a user interface may be provided for performing common tasks on the resources through the invocation of the general-purpose programming interface. This structure may facilitate the administration of a resource through the designation of common tasks (through the user interface), each of which invokes various general-purpose operations (through the programming library), which in turn perform low-level operations on the resource.